Version History

2.0, April 1, 1996.
• Completely rewritten in C++ using Metrowerks CodeWarrior and PowerPlant as a fat binary for native PowerPC performance,
• Support for multiple Play Lists with full drag and drop support, including drag conversion to the Finder,
• Improved Status window that contains more information and a progress indicator,
• Added support for the following formats:
 ◊ IMA 4:1 and µ-law in AIFF/AIFC, 'snd ' resources and QuickTime movies,
 ◊ IMA 4:1, µ-law and a-law in WAVE files,
 ◊ IRCAM,
 ◊ MPEG audio layers I and II on PowerPC computers, and
 ◊ ScreamTracker 3 (S3M) files using the ZSS driver.
• Conversion of QuickTime movies without an intermediate file,
• Conversion options to force mono/stereo and 8-/16-bit output and to “DOSify” output filenames,
• Revamped Preferences dialog,
• Enhanced AppleScript support for playback and conversion,
• Rewrote the Help text, and
• Created a better-looking application icon.
2.0.1, April 26, 1996.
• Fixed a problem with the playback of mono IMA WAVE files,
• Fixed a problem which may crash due to a bug in the Apple’s Sound Manager header,
• Fixed a problem playing very short files using double buffering.
2.0.2, April 29, 1996.
• Corrected build problem which caused 2.0.1 to crash frequently.
2.0.3, June 11, 1996.
• Corrected a length problem with some odd WAVE files,
• Uses the “applFont” instead of “geneva” to permit localization,
• Dragging a file onto the SoundApp icon with a Play List open no longer adds the file to the list,
• SoundApp now maintains looping and base note information when converting between AIFF and 'snd ' resources, including System 7 sound files,
• MPEG playback now no longer causes jerky mouse movement,
• Mono MPEG files now play at the proper speed,
• Closing the Status window via AppleScript no longer crashes.
2.1, July 10, 1996.
• Added support for the following formats:
 ◊ MIDI (type 0, 1 and karaoke) files using the AMP drivers and
 ◊ GSM-compressed WAVEs and raw GSM (“.au.gsm”) files.
• Incorporated new ZSS drivers,
• Files passed to open/play/convert via AppleScript can now be specified as strings,
• Added Name/Type column headers to Play List windows, implemented title click sorting like the Finder and added Sort sub-menu (sorting method is saved in Play List files and dragging items into a sorted list maintains sort order),
• Can now pause playback using the spacebar,
• Added “;”-key for stopping after the file that is currently being processed,
• Added floating button bar and a menu item to show and hide it,
• Play Lists now support continuous shift-selection with scrolling,
• The DOSify preference now allows underscores in the converted filenames,
• Fixed a bug which crashed after sending an quit AppleEvent while playing,
• Fixed a bug which would insert a very short click at the beginning of a WAVE output file,
• Fixed a bug while converting MPEG files with an internal CRC check which caused the conversion to fail,
• No longer write non-standard AIFF headers when converting,
• Fixed a bug that would cause a crash when two MOD files are played one after the other using the ZSS drivers,
• Removed some math calls which would prevent SoundApp from running with some old versions of MathLib on Power Macs.
2.1.1, July 12, 1996.
• Corrected playback problem on 68K Macs.
2.2, December 3, 1996.
• Added a new Convert menu to group all the convert output options, added the capability to save conversion preferences as a named configuration, added an editor for saved sets, and removed all output format related options from the Convert preferences pane,
• Added Sound Designer and direct QuickTime output formats,
• Added support for MACE-3 and MACE-6 compression in SoundEdit files,
• Added support for AIFF and 'snd ' files explicitly encoded with the 'twos' and 'raw ' codecs,
• Re-wrote the MIDI code from scratch and added OMS support and a new MIDI Preferences pane,
• Included new ZSS drivers with MTM support,
• Added Script menu which lists the scripts in a “Script Menu Items” folder,
• The volume preference is now relative to the system volume, thus will have no effect on other applications’ volume, and can now go from 10% to 150%,
• Fixed sample rate specification with AIFF files due to an incompatibility with CodeWarrior and extended floating point numbers,
• Fixed a bug which could cause a hang while playing MED/OctaMED files with the ZSS driver set as preferred,
• Fixed a problem which caused some files to be left open when dragged to the Play List,
• Now properly calculates the length of MPEG Layer I files,
• Removed two-byte click at the beginning of converted System 7 sound files,
• Added Info window to provide more information on a sound file,
• Added extensive AppleScript support,
• Added a “SoundApp Home Page” to the Help menu if Internet Config is installed,
• Conversion of suitcases or MOD files now places the sounds in a sub-folder,
• ADPCM file playback is now no longer affected by the “Play a/µ-law as 8-Bit” or the “Convert a/µ-law as 8-Bit” preference,
• Upgraded to CodeWarrior 10.
2.2.1, December 5, 1996.
• Corrected a problem upgrading the preferences file from 2.1.1 to 2.2, which would result in a corrupted file.  If you used version 2.2, you’ll need to reset your preferences.
2.2.2, December 12, 1996.
• Conversion downsampling from 44.1 or 48 kHz to a lower rate (e.g., 32 kHz) no longer produces slight clicks,
• Playback of MIDI files using OMS now uses the proper selected device,
• Work around a bug in QuickTime 2.1 which prevented many MIDI files from playing,
• Fixed a bug which prevented MOD conversion on 680x0 Macs,
• Fixed a bug which caused random shuffling of Play Lists to not be very random.
2.2.3, February 26, 1997.
• SoundApp no longer gets confused if the Controls Palette is closed while playing a file from a Play List,
• Made another attempt to allow SoundApp to work without a PowerPC-native AppleScript,
• Corrected two AppleScript dictionary problems (one which prevented conversion to a specific format type and another which prevented saving a Play List to a specified file),
• If SoundApp is in the midst of playing some sounds and a folder is dropped onto SoundApp, the sound files contained therein will now be added to the playback queue,
• Cleaned up internal memory management and fixed some issues with drag and drop in Play Lists,
• Significantly speeded up the sorting of Play Lists.
2.3, April 26, 1997.
• Added support for the following formats:
  ◊ MPEG audio layer III (for computers with a PowerPC processor),
  ◊ uncompressed stereo Amiga IFF/8SVX files.
• Partially corrupt MPEG files will now skip over the corrupt frames,
• Added new preferences to copy files when dragged from a Play List and to append the “.type”  suffix to output filenames,
• Fixed a bug which would cause a crash when using AppleScript to get info on an invalid file,
• Fixed a bug in the conversion to WAVE and AIFF files,
• Using the space bar to pause play back now updates the Controls Palette,
• Added AppleScript commands to get and set the playback volume,
• Fixed a minor Play List button highlight problem,
• QuickTime soundtracks with non-standard time bases are now dealt with properly,
• Closing an empty Play List will not ask whether to save,
• Fixed a bug which could crash while attempting to drag an item from a sorted Play List to itself,
• Now better deals with file systems which are too slow to keep up with playback,
• Added Q&A topic to the Help window to address some frequently asked questions concerning SoundApp.
2.3.1, May 7, 1997.
• Fixed a small preference problem which prevented conversion from working unless a version 2.2.3 preferences file existed,
• Improved MPEG playback stability and made decompression more responsive,
• Converting to AIFF, System 7 or QuickTime IMA now no longer introduces a low frequency buzz.
2.4, August 11, 1997.
• Added support for the following formats:
  ◊ stereo Fibonacci-delta compressed Amiga IFF files,
  ◊ original Sound Designer files,
  ◊ SoundEdit 16 SWE/Shockwave MPEG Layer III files with their weird, non-standard headers,
  ◊ MPEG-2 Layer III files,
  ◊ 24- and 32-bit PCM-encoded Sun Audio, NeXT and AIFF files,
  ◊ 32- and 64-bit floating point-encoded Sun Audio and NeXT files,
  ◊ 32-bit PCM-encoded WAVE files, and
  ◊ 32-bit floating point-encoded IRCAM files.
• Added support for conversion to:
  ◊ MACE-3 and MACE-6 encodings in AIFF, System 7 sound files and QuickTime files,
  ◊ PSION sound files, and
  ◊ a-law in WAVE and AU files.
• Incorporated the new Amp MPEG Layer III playback code for increased performance and support for MPEG-2 Layer III files,
• QuickTime files with multiple sound tracks are now converted properly,
• Enhanced SoundApp’s AppleScript support:
  ◊ Added a current file AppleScript property to the application,
  ◊ Added a fetch information verb to return information about a sound file on disk and renamed the get information verb to display information for clarity,
  ◊ Added a send oms data AppleEvent to send MIDI data to an OMS synthesizer, and
  ◊ Added start at and stop at parameters to play and convert to process portions of a sound file.
• Completely re-did the Preferences dialog, removed “Fast Macintosh” and “Process Files in Directories” and added “Use Playback Volume” in the MIDI pane,
• Using the “Repeat” playback option on a single file now loops extremely smoothly,
• First pass at random access playback by clicking in the progress bar,
• Suffixes will only be removed from file names when converting if they are a valid sound file suffix,
• Added time elapsed and remaining displays to the Status window,
• Get Info on a MOD file while playing a MOD file will now work correctly,
• Calculated play times for music files using the ZSS drivers are now correct,
• Now sends tone bank control (32) to MIDI synthesizers if OMS MIDI driver is selected,
• Fixed a problem which created incorrect WAVE headers for µ-law and IMA output data and in general when converting 8-bit sounds to µ-Law,
• Also corrected a problem which created a slightly non-standard AIFF header,
• Re-did the document icons and the buttons in the Controls Palette,
• Better support for playback using virtual memory or RAM Doubler,
• Enabled drag-and-drop and active scrolling in the Help window and active scrolling in Play Lists,
• Upgraded to CodeWarrior Professional 1.
2.4.1, August 21, 1997.
• Fixed a problem with the OMS output device getting corrupted in the Preferences dialog and changing the output device no longer requires quitting SoundApp to take effect,
• SoundApp now recognizes two more file types as MP3 files: Shockwave’s and MacAmp’s,
• Incorporated new MacAmp MPEG playback code which now handles MPEG Layer II,
• Slipping around in an MPEG Layer III file now no longer resets the volume to 100%, removed a slight glitch with some low bit-rate MPEG Layer III files and improved disk reading for smoother playback,
• Fixed a glitch when jumping around in a MPEG Layer I file which would result in some odd noise,
• Fixed a problem playing sounds that are less than 100 ms long and MPEG Layer I files less than 64K.
2.4.2, November 23, 1997.
• Added a sound volume slider to the Controls palette,
• Added Export From QuickTime menu option,
• Added a play position AppleScript parameter,
• The Add… menu option now presents a new multiple get files dialog to add files to a Play List,
• The send oms data AppleScript command now uses the selected device,
• The Get Info and Status windows now display the stereo mode for MPEG files,
• Added a new Auto Play option which will automatically play a Play List when it is opened,
• Added a new icon to trick Netscape into selecting a semi-valid file type as its default,
• Now supports playback of some partially corrupt MIDI files,
• DOSifying file names is now a little smarter with file names with non-standard suffixes,
• Fixed an initialization problem when playing MIDI files via QuickTime,
• Get Info on MPEG files now works properly while playing MPEG files,
• Converting MPEG Layer III files no longer ignores the last little bit,
• Enabled conversion of MPEG Layer II and Layer III sounds on a 680x0 Macintosh with an FPU,
• Fixed a problem converting short MPEG Layer II and Layer III files,
• Added limited parsing of the id3 text information standard for MP3 files to display the song name,
• The default base note for System 7 sound files is now 60 (middle C) which may fix problems using SoundApp-generated sounds in HyperCard,
• Fixed a problem sending SysEx messages when playing MIDI files via OMS,
• Fixed a problem playing truncated AIFF files,
• Fixed a problem with getting a “File Not Found” error while converting files,
• Fixed a problem playing stereo 8SVX files using the AppleScript start at parameter,
• Fixed a problem deleting files from a sorted Play List,
• Better compatibility with SWA files, especially version 6.0 files,
• Enabled drag-scrolling in the Help window,
• Upgraded Amp MP2 and MP3 engine to 0.7.6.
2.4.3, December 15, 1997.
• MPEG Layer I and Layer II decoding has been rewritten for better compatibility with joint stereo files, although MPEG-2 Layer II is not supported at this time,
• MPEG conversion on 680x0 Macs now works without FPUs and can convert all layers,
• Fixed a cosmetic problem while changing the selection in a Play List via AppleScript with SoundApp in the background,
• Playing MOD files using the ZSS driver will now obey the “Stereo Mode” preference,
• Enabled playback of MPEG audio QuickTime files,
• Upgraded to CodeWarrior Professional 2.
2.4.4, December 16, 1997.
• Oops, fixed the volume slider which wouldn’t move due to changes in the control class of PowerPlant in CW Pro 2.
2.5, April 16, 1998.
• Added support for the following formats:
  ◊ MPEG-2.5 Layer III files, including WAVE MP3 files,
  ◊ MPEG-2 Layer I and II files,
  ◊ EPOC 32 (Psion Series 5) sound files (a-law only),
  ◊ Atari AVR, and
  ◊ arbitrary QuickTime compression formats.
• Also added conversion to EPOC 32 (Psion Series 5) sound files (a-law only),
• Conversion on PowerPC-based computers should now be faster,
• Enhanced looping in the following ways:
  ◊ Now reads and writes looping information to and from Sound Designer II and WAVE files,
  ◊ Single-file looping from a Play List now honors the looping parameters in the file,
  ◊ Single-file looping from a Play List using the ZSS driver is now done smoothly, and
  ◊ Conversion of looping points is now scaled properly during conversion.
• Enhanced the Play Lists in the following ways:
  ◊ Added an indicator which displays the processing status for the files, for example whether it has already been processed or is currently being processed,
  ◊ The Play List save-file alert now has command-key equivalents, and
  ◊ Opening a Play List that’s already open no longer creates a new window.
• Added support for GS instruments when playing MIDI files using QuickTime 3.0,
• Added another value to the current file AppleScript property which is the entry in a Play List being processed,
• Pressing the left arrow while playing a file will now go to the previous file if less than one second has elapsed; otherwise, it will restart playback from the beginning of the current file (like most CD players),
• The “Stop Processing After the Current File Has Finished” button in the Controls palette now highlights when clicked and it can be turned off by clicking it again or by clicking the Play button,
• Added a slider to the playback Status window for formats which support random access,
• MPEG decoding on 680x0 Macs with an FPU is now much faster,
• Now uses the Mac OS 8 floating window for the Status and Control windows if using Mac OS 8 or higher,
• Getting information on a file for which a Get Info window already exists will now bring that window to the front,
• Average data rate for conversion to IMA WAVE is now calculated correctly,
• Conversion of MPEG files no longer produces extra silence at the end of the output file,
• Tempo calculation for MIDI files on 680x0 Macs is now correct,
• Removed the “Resolution” preference on the Play pane.
2.5.1, August 13, 1998.
• Added support for the following formats:
  ◊ 8-, 16- and 24-bit Ensoniq PARIS files,
  ◊ AIFF/AIFF-C files encoded with arbitrary QuickTime codecs, e.g., QDesign and PureVoice™,
• SoundApp will now use Navigation Services if it is installed for file save and open dialogs,
• Export From QuickTime… can now export to all exportable formats supported by the version of QuickTime that is installed,
• Enhanced Get Info in the following ways:
  ◊ Added the ability to Get Info on the file currently being processed by option-clicking on the Get Info button in the Controls palette,
  ◊ Using Get Info on a non-sound file now displays a window noting this,
  ◊ Added another line to the “Where” field in the Get Info window,
• Enhanced SoundApp’s AppleScript support in the following ways:
  ◊ Implemented access to information and preference records,
  ◊ Recording usage of the Convert… dialog now includes the specified conversion parameters,
  ◊ Fixed some problems with the AppleEvent Terminology resource,
• Japanese characters in MPEG ID3 tags should now display properly,
• Processing files with the “Display Status Window” preference turned off no longer crashes,
• Fixed confusion with the time elapsed in the Status window when playing MPEG files and immediately pausing,
• 24-bit file support now works properly,
• SoundApp now processes the last event in a MIDI file,
• SoundApp now generates Sound Designer II files that better conform to the standard,
• Playback of MPEG Layer II files will no longer stop when it encounters a corrupted frame,
• Better support for AIFF-C files that are corrupted at the end and those with non-standard instrument chunks,
• Made some improvements in the stability of MPEG playback,
• MIDI files with control change parameters that are out of range are now clipped,
• QuickTime movies are now properly closed after playing or converting,
• MOD files from an Amiga that have a “mod.” prefix will now be recognized by SoundApp,
• The Quit command is now enabled during playback,
• The processing status indicator now follows an entry if it is dragged in a Play List,
• Windows are now properly activated after using the QuickTime import/export features,
• Fixed a cosmetic update problem with Balloon Help in the Play List, and
• Updated my contact address in the Notes section.
2.6, March 13, 1999.
• Incorporated new ZSS library which supports IT files and limited random access jumping during playback,
• Added support for split-stereo files in either AIFF or Sound Designer II formats,
• Added conversion to the Ensoniq PARIS file format (8- and 16-bit only),
• Added support for variable bit-rate MPEG Layer III audio files created by the Xing encoder (a.k.a. AudioCatalyst),
• Added preliminary ID3v2 (version 2 and 3) tag support for displaying the track name in MPEG files (though tag compression is not supported),
• Added recognition of the file type used by MacAmp for MP3 files,
• Added a new conversion settings dialog for on-the-fly settings changes,
• Added a new “Prompt For Existing Folder” conversion output method,
• Added a new preference to create an untitled Play List when opened without any files to process,
• Double-clicking on an entry in a Play List while playing will now stop playback and start playing the selected file(s),
• Conversion to compressed WAVE files now includes the ‘fact’ chunk,
• Aliases in Play Lists are now created with relative path information so the Play List and associated files can be moved to a different volume,
• With no Play Lists open, the “Play” button in the Controls palette will now allow Play Lists to be opened,
• The Controls palette no longer hides itself when SoundApp is placed in the background,
• MIDI playback should be a little more friendly with memory usage in the Finder, especially on 680x0 systems, and
• Added the following AppleScript enhancements:
  ◊ Documents (a.k.a. Play Lists) can now be referenced by number according to their front-to-back ordering,
  ◊ Entries in Play List can now receive verbs to play, convert and obtain information on them directly, and
  ◊ The information record returned for sound files now contains a boolean flag which indicates whether the file is of the split-stereo variety.
• The following bugs were fixed:
  ◊ SoundApp would always use the same buffer size for MPEG playback regardless of the preference,
  ◊ Moving the progress bar in the Status window while paused would not update the Controls palette,
  ◊ A problem processing some AIFF files encoded with a QuickTime codec,
  ◊ A crash when cancelling the “Add…” dialog,
  ◊ A crash while converting multiple files with the “Prompt For Each File” option enabled when using Navigation Services,
  ◊ Playing some strange SoundEdit files would cause it to think mono files were stereo,
  ◊ The progress bar would not update properly when looping MPEG files,
  ◊ The operation of the “previous” button in the Controls palette was not consistent with the left-arrow key action,
  ◊ Netscape would not allow selection of a file type other than 'TEXT' when configuring SoundApp as a helper application,
  ◊ A slider was displayed in the Status window while loading sounds for playback with double buffering disabled,
  ◊ SoundApp would have problems displaying very large Play Lists,
  ◊ The volume would reset when looping a MIDI file, and
  ◊ SoundApp would leak small amounts of memory when performing certain tasks.
2.6.1, March 21, 1999.
• Improved the performance of MPEG playback with large buffers,
• Enhanced the ability to determine sound types when the Mac file type is set incorrectly,
• Added support for Iomega RecordIt files (which are AIFF files with MPEG layer II data inside),
• Fixed playback without double-buffering and 68K conversions of high bit-rate MPEG files,
• Fixed another problem that would cause a crash when aborting an MPEG conversion,
• Fixed a problem that would prevent sample rate conversion of 50 kHz sounds.
2.7, July 24, 2000.
• Added conversion options to extract the left or right channels only,
• Added split-stereo output for conversion,
• Added audio CD playback and conversion (audio track importing),
• Added preliminary support for Nomad II voice files with random access capability,
• Added support for the rest of the RecordIt file formats,
• Added support for stereo and 16-bit VOC files and removed clicking between chunks,
• Added support for 12-bit samples in AIFF files,
• Added a “Sort by Path” option for Play Lists,
• Added a “Show Status Window” menu item and added a close box to the Status Window,
• Added an “Auto Play Drag-Created Play Lists” option to the General preferences pane,
• Added a “Use Large Buffers” option to the Convert preferences pane,
• Added “Pause After Current File” to the Controls palette,
• Changed the format of Play Lists to allow missing files to still be displayed in the list and then later re-linked to a different file,
• The name of an item in a Play List can be changed via the Info window,
• Canceling a server mount operation when loading a Play List will now stop loading the remainder of the list,
• Changed the playback volume to be non-linear and increased maximum value to 200%,
• Added the “looping” parameter to the “play” AppleScript verb,
• Added “filename” and “pathname” to the AppleScript “information record”,
• Added “time”, “elapsed time”, and “remaining time” to the AppleScript “current file record”,
• Dragging a group of files into a Play List or onto SoundApp’s icon will now just add one of the files in a split stereo-pair,
• Added support for looping information in Akai WAVE files and fixed a problem looping a single file with the loop point in the middle,
• Improved playback performance under Mac OS 8.x during periods of high disk activity (e.g., launching applications),
• Playback of G.72x files now have a slider in the Status window,
• Fixed a problem converting some QDesign audio movies that would result in a periodic stutter,
• Fixed a problem calculating the temporal length of and doing random access in VBR MP3 files encoded by LAME and N2MP3,
• Fixed a problem converting from an AIFF file using a QuickTime codec to IMA or µ-law,
• Fixed another problem with MPEG playback under high CPU/disk activity conditions,
• Fixed some conversion problems with some System sound files,
• Fixed a problem that prevented random access jumping in QDesign AIFF files,
• Converted files will now be placed in the correct directory if using the “Prompt For Existing Folder” option and Navigation Services,
• Script file names with characters normally interpreted as meta-characters by the Menu Manager will now no longer be interpreted when adding items to the Script menu,
• The Conversion Parameters dialog will only appear once when dragging a folder onto SoundApp’s icon,
• Fixed a small audible glitch when converting to IMA on 680x0 Macs,
• Improved ID3 tag recognition and fixed a crashing problem reading some files with ID3v2 tags.
2.7.1, August 14, 2000.
• Fixed another problem with very long ID3 tags (e.g., pictures) and added support for Unicode ID3 tags,
• Fixed an elusive bug that could cause a crash when stopping playback,
• Fixed a problem with the CDDB host selector dialog not displaying any hosts,
• Fixed a slight rounding error when calculating the volume at 100% that could result in some clipping,
• Fixed a crash when selecting Cancel from the CDDB host selector,
• SoundApp can now be used without Open Transport (though CDDB features will be disabled),
• The progress bar will now reset when looping a single MOD file using the ZSS driver,
• Fixed a bug that caused SoundApp to hang when stopping or jumping around while playing files due to a compiler bug,
• Fixed a problem that produced corrupted WAVE files due to another compiler bug.
2.7.2, August 15, 2000.
• Forgot to remove a bit of testing code that disabled the CDDB preferences,
• Increased the memory allocated to SoundApp to allow it to handle very large play lists.
2.7.3, November 13, 2000.
• Released both PPC and 68K versions,
• Fixed a problem converting MP3s to QuickTime movies,
• Fixed a problem that would cause SoundApp to crash when closing the parent play list of a QuickTime file currently being played.